// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import FastClick from 'fastclick'
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'
import VueScroller from 'vue-scroller'
import vueScrollBehavior from 'vue-scroll-behavior'
import {fetchPost,fetchGet,getAll} from './config/httpConfig'
// import {Strophe} from 'strophe.js';
import websdk from 'easemob-websdk';
// import '../src/assets/js/webim.config.js'
let WebIM = window.WebIM = websdk
Vue.prototype.$WebIM = WebIM
let conn = new WebIM.connection({
	isMultiLoginSessions: WebIM.config.isMultiLoginSessions,
	https: typeof WebIM.config.https === 'boolean' ? WebIM.config.https : location.protocol === 'https:',
	url: WebIM.config.xmppURL,
	heartBeatWait: WebIM.config.heartBeatWait,
	autoReconnectNumMax: WebIM.config.autoReconnectNumMax,
	autoReconnectInterval: WebIM.config.autoReconnectInterval,
	apiUrl: WebIM.config.apiURL,
	isAutoLogin: true
});
// conn.listen({
// 	onOpened: function (message) {          //连接成功回调
// 		// 如果isAutoLogin设置为false，那么必须手动设置上线，否则无法收消息
// 		// 手动上线指的是调用conn.setPresence(); 如果conn初始化时已将isAutoLogin设置为true
// 		// 则无需调用conn.setPresence();             
// 	},
// 	onClosed: function (message) { },         //连接关闭回调
// 	onTextMessage: function (message) { },    //收到文本消息
// 	onEmojiMessage: function (message) { },   //收到表情消息
// 	onPictureMessage: function (message) { }, //收到图片消息
// 	onCmdMessage: function (message) { },     //收到命令消息
// 	onAudioMessage: function (message) { },   //收到音频消息
// 	onLocationMessage: function (message) { },//收到位置消息
// 	onFileMessage: function (message) { },    //收到文件消息
// 	onVideoMessage: function (message) {
// 		var node = document.getElementById('privateVideo');
// 		var option = {
// 			url: message.url,
// 			headers: {
// 				'Accept': 'audio/mp4'
// 			},
// 			onFileDownloadComplete: function (response) {
// 				var objectURL = WebIM.utils.parseDownloadResponse.call(conn, response);
// 				node.src = objectURL;
// 			},
// 			onFileDownloadError: function () {
// 				console.log('File down load error.')
// 			}
// 		};
// 		WebIM.utils.download.call(conn, option);
// 	},   //收到视频消息
// 	onPresence: function (message) { },       //处理“广播”或“发布-订阅”消息，如联系人订阅请求、处理群组、聊天室被踢解散等消息
// 	onRoster: function (message) { },         //处理好友申请
// 	onInviteMessage: function (message) { },  //处理群组邀请
// 	onOnline: function () { },                  //本机网络连接成功
// 	onOffline: function () { },                 //本机网络掉线
// 	onError: function (message) { },          //失败回调
// 	onBlacklistUpdate: function (list) {       //黑名单变动
// 		// 查询黑名单，将好友拉黑，将好友从黑名单移除都会回调这个函数，list则是黑名单现有的所有好友信息
// 		console.log(list);
// 	},
// 	onReceivedMessage: function (message) { },    //收到消息送达服务器回执
// 	onDeliveredMessage: function (message) { },   //收到消息送达客户端回执
// 	onReadMessage: function (message) { },        //收到消息已读回执
// 	onCreateGroup: function (message) { },        //创建群组成功回执（需调用createGroupNew）
// 	onMutedMessage: function (message) { }        //如果用户在A群组被禁言，在A群发消息会走这个回调并且消息不会传递给群其它成员
// });
Vue.prototype.$imConn = conn
Vue.config.productionTip = false
Vue.prototype.$fetchPost =fetchPost
Vue.prototype.$fetchGet =fetchGet
Vue.prototype.$getAll =getAll
Vue.use(VueScroller)//上拉加载，下拉刷新
//弹框
import  { AlertPlugin,Alert,ConfirmPlugin,LoadingPlugin,ToastPlugin} from 'vux'
Vue.use(AlertPlugin)
Vue.use(ConfirmPlugin)
Vue.use(LoadingPlugin)
Vue.use(ToastPlugin)
Vue.use(vueScrollBehavior, { router: router })
if ('addEventListener' in document) {
    document.addEventListener('DOMContentLoaded', function() {
        FastClick.attach(document.body);
    }, false);
}
Vue.filter("filterTime",function(val){

	  let ms=new Date(val).getMinutes()>=10?new Date(val).getMinutes():'0'+new Date(val).getMinutes();
	  // let s=new Date(val).getSeconds()>=10?new Date(val).getSeconds():'0'+new Date(val).getSeconds();
	  let h=new Date(val).getHours()>=10?new Date(val).getHours():'0'+new Date(val).getHours();
	  return h+":"+ms;
})
Vue.filter("filterTimes",function(val){
	  let y=new Date(val).getFullYear();
	  let m=new Date(val).getMonth()+1>=10?new Date(val).getMonth()+1:'0'+(new Date(val).getMonth()+1);
	  let d=new Date(val).getDate()>=10?new Date(val).getDate():'0'+new Date(val).getDate();
	  return y+"-"+m+"-"+d;
})
Vue.filter("filterTimess",function(val){
	  let y=new Date(val).getFullYear();
	  let m=new Date(val).getMonth()+1>=10?new Date(val).getMonth()+1:'0'+(new Date(val).getMonth()+1);
	  let d=new Date(val).getDate()>=10?new Date(val).getDate():'0'+new Date(val).getDate();
	  let h=new Date(val).getHours()>=10?new Date(val).getHours():'0'+new Date(val).getHours();
	  let ms=new Date(val).getMinutes()>=10?new Date(val).getMinutes():'0'+new Date(val).getMinutes();
	  let s=new Date(val).getSeconds()>=10?new Date(val).getSeconds():'0'+new Date(val).getSeconds();
	  return y+"-"+m+"-"+d+" "+h+":"+ms+":"+s;
})
Vue.filter("filterTimesss",function(val){
	  let y=new Date(val).getFullYear();
	  let m=new Date(val).getMonth()+1>=10?new Date(val).getMonth()+1:'0'+(new Date(val).getMonth()+1);
	  let d=new Date(val).getDate()>=10?new Date(val).getDate():'0'+new Date(val).getDate();
	  let h=new Date(val).getHours()>=10?new Date(val).getHours():'0'+new Date(val).getHours();
	  let ms=new Date(val).getMinutes()>=10?new Date(val).getMinutes():'0'+new Date(val).getMinutes();
	  return y+"-"+m+"-"+d+" "+h+":"+ms;
})
Vue.filter("filterTimes1",function(val){
	  let y=new Date(val).getFullYear();
	  let m=new Date(val).getMonth()+1>=10?new Date(val).getMonth()+1:'0'+(new Date(val).getMonth()+1);
	  let d=new Date(val).getDate()>=10?new Date(val).getDate():'0'+new Date(val).getDate();
	  let h=new Date(val).getHours()>=10?new Date(val).getHours():'0'+new Date(val).getHours();
	  let ms=new Date(val).getMinutes()>=10?new Date(val).getMinutes():'0'+new Date(val).getMinutes();
	  return m+"-"+d+" "+h+":"+ms;
})
Vue.filter("filterTime5",function(val){
	  let y=new Date(val).getFullYear();
	  let m=new Date(val).getMonth()+1>=10?new Date(val).getMonth()+1:'0'+(new Date(val).getMonth()+1);
	  let d=new Date(val).getDate()>=10?new Date(val).getDate():'0'+new Date(val).getDate();
	  if(y==new Date().getFullYear()){
	  	return m+'-'+d;
	  }else{
	  	return y+"-"+m+'-'+d;
	  }
})
Vue.filter("fiterPhone",function(val){
	  if(!Number(val)){
	  	return val;
	  }
	  if(val.length<11||val.length>11){
	  	return val;
	  }
	  let str=val.slice(0,3)+'****'+val.slice(7,11)
	  return str;
})
// 对订单号的过滤
Vue.filter("filterOrderNo",function(val){
	  let str=val.slice(0,3)+'***'+val.slice(6);
	  return str;
})
//数字两位过滤器
Vue.filter('filterNum',function(num){
	return num>=10?num:'0'+num;
})
//保留两位小数，不四舍五入
Vue.filter('keepTwoDot',function(num){
	return Math.floor(num * 100) / 100;
})
Vue.filter('filterMoney',function(num){
	return String(Number(num).toFixed(2)).split('.')[0];
})
Vue.filter('filterMoney1',function(num){
	return String(Number(num).toFixed(2)).split('.')[1];
})
window.getIps = "http://carnt.carnettong.com:8088";
// window.getIps = "http://4scafe.carnettong.com";
// window.getIps = "http:/zss.carnettong.com";
// window.getIps = 'http://192.168.0.180'; //双胜
//window.getIps = "http://192.168.0.123";
Vue.use(MintUI);
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})
